var util = require("../../../utils/util.js");
import ajax from "../../../utils/ajax.js";
let app = getApp();






Page({

  /**
   * 页面的初始数据
   */
  data: {
    list: [],
    page_num: 1,

    home_data: '',//职位 会员 访问量 数据
    banners: [],//banner图数据
    now_city: '',//当前城市属于
    area_list: [],// 区县列表
    now_area: {},//当前区 的name id
    select_area_text: '选择地区',

    settlementType: [],//结算方式
    now_settlement_type_text: '结算方式',
    now_settlement_type_id: '',

    wageType: [],//工资类型
    now_wageType_text: '',
    now_wageType_id: '',

    partTimeType: [],//兼职类型
    now_partTimeType_text: '职位类型',
    now_partTimeType_id: '',


    show_alert: false,
    bm_id: '',
    animate: '',


  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.update_list_data();
    this.position();

  },

  // 选择完成后的更新回调
  updata_city_data(city_data) {
    
    app.common.now_city = city_data;
    this.position()

  },
  // 选择城市
  to_select_city() {
    // console.log("to_select_city");
    wx.navigateTo({
      url: "/pages/select_city/address"
    })
  },
  // 直接报名
  bm_func(e) {
    if(!app.common.token){
      app.toast("请先登陆");
      return;
    }
    if(e){
      let id = e.currentTarget.dataset.id;
      this.setData({
        bm_id:id
      })
    }
    this.setData({ 
      show_alert: !this.data.show_alert
     });
  },
  bm_handle(e) {
    let type = e.detail.type;
    console.log(type);
    console.log(e)
    if (type == "confirm") {
      ajax.post({
        url: 'parttime_jobs/enroll',
        data: { parttime_job_id: this.data.bm_id }
      }).then(res => {
        this.bm_func();
        console.log(res)
        if (res.code == 0) {
          app.toast("报名成功", "succ")
        } else {
          app.toast(res.message)
        }
      })
    }
    if (type == "cancel") {
      this.bm_func()
    }
  },
  // 跳转兼职详情页
  to_detail: function (e) {
    let id = e.currentTarget.dataset.id;
    console.log(id);
    wx.navigateTo({
      url: '../detail/index?id=' + id,
    })
  },
  // 获取 职位/会员/访问、banner 数据
  get_num_data() {
    ajax.get({
      url: 'parttime_jobs/data'
    }).then(res => {
      this.setData({ home_data: res.data, banners: res.data.images })
    })
  },

  //获取 兼职结算方式  工资类型  兼职类型
  init_select_data: function () {
    var that = this;
    util.wxRequest('parttime_jobs/settlement_type', {}, function (res) {
      res.data.data.list_data.unshift({
        id: '',
        value: '不限'
      })
      that.setData({
        settlementType: res.data.data.list_data
      })
    }, 'GET');

    util.wxRequest('parttime_jobs/wage_type', {}, function (res) {
      res.data.data.list_data.unshift({
        id: '',
        value: '不限'
      })
      that.setData({
        wageType: res.data.data.list_data
      })
    }, 'GET');

    util.wxRequest('parttime_jobs/type', {}, function (res) {
      res.data.data.list_data.unshift({
        id: '',
        value: '不限'
      })
      that.setData({
        partTimeType: res.data.data.list_data
      })
    }, 'GET');
  },

  //获取当前位置城市信息
  position: function () {
    // 获取缓存中当前城市
    this.setData({
      now_city: app.common.now_city
    });
    this.get_city_area_data()
  },
  // 获取当前城市的区县数据
  get_city_area_data() {
    ajax.get({
      url: 'lbs/district_list',
      data: {
        city_id: this.data.now_city.id
      }
    }).then(res => {
      if (res.data.list_date) {
        res.data.list_date.unshift({
          id: '',
          name: '不限'
        })
        this.setData({ area_list: res.data.list_date })
      }


    })
  },

  // -----------------------------------------筛选---------------------------
  // 区县 改变后的 事件 方法
  area_is_change(e) {
    console.log(e.detail.value);
    let item = this.data.area_list[e.detail.value];
    this.setData({
      select_area_text: item.name,
      now_area: item,
      page_num: 1,
      list:[]
    })
    this.update_list_data()
  },
  // 职位类型改变 事件方法
  zhiwei_is_change(e) {
    let item = this.data.partTimeType[e.detail.value];
    this.setData({
      now_partTimeType_text: item.value,
      now_partTimeType_id: item.id,
      page_num: 1,
      list:[]
    })
    this.update_list_data()
  },
  // 结算方式改变 事件方法
  jiesuan_is_change(e) {
    let item = this.data.settlementType[e.detail.value];
    this.setData({
      now_settlement_type_text: item.value,
      now_settlement_type_id: item.id,
      page_num: 1,
      list:[]
    })
    this.update_list_data()
  },


  // 更新兼职列表数据
  update_list_data() {
    let data = {
      latitude: app.common.now_position.lat,
      longitude: app.common.now_position.lng,
      settlement_type: this.data.now_settlement_type_id,//结算方式id
      type: this.data.now_partTimeType_id,//职位类型id
      district: this.data.now_area.id ? this.data.now_area.id : "",//地区 区id
      page: this.data.page_num//页数，默认1
    }
    console.log(data)
    console.log("页数" + this.data.page_num)
    ajax.get({
      url: 'parttime_jobs',
      data
    }).then(res => {
      let list = this.data.list;
      if (res.data.list_data.length > 0) {
        list = list.concat(res.data.list_data);
        this.setData({
          list: list,
          page_num: ++this.data.page_num
        })
      } else {
        app.toast("暂无更多数据")
      }

    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    this.init_select_data()
    this.get_num_data();
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    console.log("刷新兼职列表页面");
    setTimeout(() => {
      wx.stopPullDownRefresh()
      this.setData({
        page_num: 1
      })
      this.update_list_data()
    }, 800);

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    console.log("页面上拉触底事件的处理函数")
    this.update_list_data()
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})